Many software applications function as web-based applications which are accessed via a web browser such as, for example, Internet Explorer, Chrome, Firefox, and Safari. To test a web-based application using multiple web browsers, test automation is frequently used. Test automation, in this case, refers to using a software tool to run repeatable tests against a web-based application. A number of open source tools are available for test automation. Selenium, for example, is an open source test automation tool.
A developer of test automation programming creates test code to manipulate an HTML object. This test code has to be developed, maintained and adapted each time an automated action will be performed on the HTML object for each different type of web browser. Changing the properties of the HTML object also creates additional maintenance of the test code as well as increasing the time and expensive of web testing for the various web browsers.